544C - Writing Code - CodeForces Solution


dp *1800

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define MOEZ ios_base::sync_with_stdio(false);cin.tie(NULL),cout.tie(NULL);
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define F first
#define S second
#define pb push_back
#define all(v) v.begin() , v.end()
#define eb emplace_back
#define getunique(v) {sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());}
#define mem(d , x) memset(d , x , sizeof(d));
#define sz(x) (int)x.size()
const int N = 1e3+5;
//const int M = 1e9+7;
//const ll inf = 1e18;
//const ld eps = 1e-6;
#define int long long
int n , m , b , M , a[501];
int dp[2][501][501];
signed main(){
    MOEZ
    cin >> n >> m >> b >> M;
    for(int i = 0; i < n;i++){
        cin >> a[i];
    }
    dp[0][0][0] = 1;
    bool f = true;
    for(int i = 0; i < n;i++){
        for(int j = 0; j <= m;j++){
            for(int k = 0; k <= b;k++){
                dp[f][j][k] = dp[(f^1)][j][k];
                if(j && k-a[i] >= 0){
                    dp[f][j][k] += dp[f][j-1][k-a[i]];
                }
                dp[f][j][k] %= M;
            }
        }
        f ^= 1;
    }
    int ans = 0;
    for(int i = 0; i <= b;i++){
        ans += dp[(f^1)][m][i];
        ans %= M;
    }
    cout << ans;
}
				  		  		  	  			  				 	  	


Comments

Submit
0 Comments
More Questions

1711B - Party
1702D - Not a Cheap String
1714F - Build a Tree and That Is It
1703F - Yet Another Problem About Pairs Satisfying an Inequality
610A - Pasha and Stick
1200A - Hotelier
1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves
1670B - Dorms War
1716B - Permutation Chain
987A - Infinity Gauntlet
1676G - White-Black Balanced Subtrees
1716D - Chip Move
1352F - Binary String Reconstruction
1487B - Cat Cycle
1679C - Rooks Defenders
56A - Bar
1694B - Paranoid String
35A - Shell Game